package Regex;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexDemo5 {
    public static void main(String[] args) {

        //本地爬虫


        /*有如下文本，请按照要求爬取数据。
         Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11,
         因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台要求:找出里面所有的JavaXx
       */
        String str = "Java自从95年问世以来，经历了很多版本，目前企业中用的最多的是Java8和Java11，" +
                "因为这两个是长期支持版本，下一个长期支持版本是Java17，相信在未来不久Java17也会逐渐登上历史舞台";
        //Pattern:表示正则表达式
        //Matcher:文本匹配器，作用按照正则表达式的规则去读取字符串，从头开始读取。
        //        在大串中去找符合匹配规则的子串。


        //获取正则表达式的对象
        Pattern p = Pattern.compile("Java\\d{0,2}");

        //获取文本匹配器的对象l/m:文本匹配器的对象l / str:大串
        //p:规则
        //m要在str中找符合p规则的小串
        Matcher m = p.matcher(str);

//        //拿着文本匹配器从头开始读取，寻找是否有满足规则的子串//如果没有，方法返回false
//        //如果有，返回true。在底层记录子串的起始索引和结束索引+1/ /0,4
//        boolean b = m.find();
//
//        //方法底层会根据find方法记录的索引进行字符串的截取
//        //substring(起始索引，结束索引);包头不包尾
//        //(0,4）但是不包含4索引
//        //会把截取的小串进行返回。
//        String s1 = m.group();
//        System.out.println(s1);
//        //第二次抽取则会继第一次继续向下查找

        while (m.find()) {
            System.out.println(m.group());
        }



    }
}
